package persistence;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Vector;

import model.*;


public abstract class APRopa {

	
	public static Vector<Ropa> getRopaActiva() {
	// Obtener conexion BD
	Ropa rop = null;
	Vector <Ropa> ropasActivas = new Vector<Ropa>();
	Connection con = AdministradorConexiones.getInstancia().crearConexion();

	// Generar sentencia SQL
	try {
		// Preparar sentencia insert en tabla destino	
		String senten = "SELECT * FROM Ropa where estado = 1";
		PreparedStatement ps = null;
		ps = con.prepareStatement(senten);
		ResultSet result = ps.executeQuery();
		while(result.next())
		{
			if(result.getString("tipoDeRopa").equalsIgnoreCase("DeTemporada")){
				rop = new DeTemporada(result.getString("nombre"), result.getInt("idRopa"),result.getString("estacionanio"),APPrenda.buscarMaterialesEnPrenda(result.getInt("idRopa")),result.getFloat("precio"));
			}
				else if(result.getString("tipoDeRopa").equalsIgnoreCase("SinTemporada")){
					rop = new SinTemporada(result.getInt("idRopa"), result.getString("nombre"),APPrenda.buscarMaterialesEnPrenda(result.getInt("idRopa")),result.getFloat("precio"));
				}
					else{
						rop = new Conjunto(result.getInt("idRopa"), result.getString("nombre"),result.getFloat("descuento"), APConjunto.getPrendasDeConjunto(result.getInt("idRopa")));
					}
			ropasActivas.add(rop);
		}

		AdministradorConexiones.getInstancia().cerrarConexion(con);

		return ropasActivas;	
	} catch (SQLException e) {
		System.out.println("Mensaje Error al getPrendasActivas: " + e.getMessage());
		System.out.println("Stack Trace al getPrendasActivas: " + e.getStackTrace());
		AdministradorConexiones.getInstancia().cerrarConexion(con);
	}
	return null;
	}
	
	
}
